#version 400 core

#define PARTICLE_POSITION    0
#define PARTICLE_VEL		 1
#define PARTICLE_COLOR       2
#define PARTICLE_PROP        3

uniform float dt;
uniform vec3 accl;

layout(location = PARTICLE_POSITION) in vec4 pos;
layout(location = PARTICLE_VEL) in vec3 vel;
layout(location = PARTICLE_COLOR) in vec4 color;
layout(location = PARTICLE_PROP) in vec4 props;

out vec4 vPos;
out vec3 vVel;
out vec4 vColor;
out vec4 vProps;

void main()
{
	vVel = vel + accl*dt;
	vPos = pos + vec4(vVel*dt, 0.0);
	vColor = color;
	vProps = props;
	vProps.y += dt;
}